/****************************************************************************

	COPYRIGHT(C) MAXSI SOFTWARE, JONAS 'SORTIE' TERMANSEN 2008, 2009, 2010

    This file is part of Maxsi Distribution.

    Maxsi Distribution is free software: you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Maxsi Distribution is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    GNU Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public License
    along with Maxsi Distribution. If not, see <http://www.gnu.org/licenses/>.

	*/ #include "MaxsiDistributionContributors.h" /*

	If you modify this file, please enter your name below and provide contact
	information in MaxsiDistributionContributors.h. For more information please see
	MaxsiDistributionContributors.h.
	
	Contributors to this file:

	- Jonas 'Sortie' Termansen
	- [your name here]

	MaxsiDistribution.dll
	Distributing since 2008

	Interface.h
	An interface to the Maxsi Distribution Platform.

****************************************************************************/

#ifndef Interface_H
#define Interface_H

#define	RESULT_DONT_RUN						0
#define	RESULT_RUN							1
#define	RESULT_UPDATE_UPDATING_SOFTWARE		2
#define	RESULT_UPDATED_UPDATING_SOFTWARE	3

#define	BINARY_MAXSIDISTRIBUTION_DLL			0
#define	BINARY_MAXSIDISTRIBUTIONUPDATE_DLL		1
#define	BINARY_MAXSIFEEDBACK_EXE				2
#define	BINARY_MAXSIINSTALLER_EXE				3

extern "C"  __declspec( dllexport )	void*	__cdecl	GetInterface				(char* Version);
extern	bool			MayLaunchProduct;
		bool			Interface_DoDownload		();	
		bool			Interface_NoInternet		();	
		bool			Interface_NeedsUpdating		();
		bool			Interface_ReportError		(const char* Error);
		bool			Interface_Info				(const char* Error);
		bool			Interface_NewsUpdated		(const char* News);
		bool			Interface_SetStatus			(const char* Status);
		bool			Interface_SetSubStatus		(const char* Status);
		bool			Interface_SetProgress		(int Progress);
		bool			Interface_DownloadNews		(char* Host, char* Resource, char* Product, char* Format);

#endif